package thread;

//中断线程及检测线程中断
//协作式 资源释放、状态保持

public class Test5_Interrupt {
    public static void main(String[] args) {
        //通过interrupted()方法检测线程是否被中断
        //Thread.currentThread()主线程
        System.out.println(Thread.currentThread().getName()+"线程是否中断："+Thread.interrupted());

        //设置main线程中断信号
        Thread.currentThread().interrupt();

        //main线程
//        Thread.currentThread().stop();//不能用stop()中止线程，否则会丢失数据、状态信息

        //通过interrupted()方法检测线程是否被中断 interrupted()同时可以清楚中断状态
        System.out.println(Thread.currentThread().getName()+"线程是否中断："+Thread.interrupted());//返回true后，回复状态
        //检测interrupted()是否会清楚线程状态
        System.out.println(Thread.currentThread().getName()+"线程是否中断："+Thread.interrupted());

        //对比：isInterrupted()仅检测此线程是否中断
        //检测当前线程是否被中断
        System.out.println(Thread.currentThread().getName()+"线程是否中断："+Thread.currentThread().isInterrupted());
        //检测线程中断状态是否被清楚
        System.out.println(Thread.currentThread().getName()+"线程是否中断："+Thread.currentThread().isInterrupted());
    }
}
